home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / phpMyAdmin_xss.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  66 lines

  1. #  This script was written by David Maciejak <david dot maciejak at kyxar dot fr>
  2. #
  3. #  Ref: Cedric Cochin
  4. #
  5. #  This script is released under the GNU GPL v2
  6.  
  7. if(description)
  8. {
  9.  script_id(15770);
  10.  script_bugtraq_id(11707); 
  11.  script_version("$Revision: 1.4 $");
  12.  name["english"] = "phpMyAdmin XSS";
  13.  script_name(english:name["english"]);
  14.  
  15.  desc["english"] = "
  16. The remote host is running phpMyAdmin, an open-source software
  17. written in PHP to handle the administration of MySQL over the Web.
  18.  
  19. This version is vulnerable to cross-site scripting attacks threw
  20. read_dump.php script.
  21.  
  22. With a specially crafted URL, an attacker can cause arbitrary
  23. code execution resulting in a loss of integrity.
  24.  
  25. Solution : Upgrade to version 2.6.0-pl3 or newer
  26. Risk factor : Medium";
  27.  
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  summary["english"] = "Checks the version of phpMyAdmin";
  32.  
  33.  script_summary(english:summary["english"]);
  34.  
  35.  script_category(ACT_GATHER_INFO);
  36.  
  37.  script_copyright(english:"This script is Copyright (C) 2004 David Maciejak");
  38.  family["english"] = "CGI abuses : XSS";
  39.  script_family(english:family["english"]);
  40.  script_dependencie("phpMyAdmin_detect.nasl");
  41.  script_require_ports("Services/www", 80);
  42.  exit(0);
  43. }
  44.  
  45. # Check starts here
  46. include("http_func.inc");
  47.  
  48. port = get_http_port(default:80);
  49. if(!get_port_state(port))exit(0);
  50. if (!can_host_php(port:port) ) exit(0);
  51.  
  52.  
  53. # Check each installed instance, stopping if we find a vulnerability.
  54. installs = get_kb_list(string("www/", port, "/phpMyAdmin"));
  55. if (isnull(installs)) exit(0);
  56. foreach install (installs) {
  57.   matches = eregmatch(string:install, pattern:"^(.+) under (/.*)$");
  58.   if (!isnull(matches)) {
  59.     ver = matches[1];
  60.     dir = matches[2];
  61.  
  62.   if ( ereg(pattern:"^(2\.[0-5]\..*|2\.6\.0|2\.6\.0-pl[12])", string:ver))
  63.     security_warning(port);
  64.   }
  65. }
  66.